# run_all_tests.py
import shutil

import pytest
import os
import subprocess

import shutil

if __name__ == "__main__":
    # 获取当前脚本所在目录（即项目根目录）
    project_root = os.path.dirname(os.path.abspath(__file__))
    report_dir = os.path.join(project_root, "reports")  # 存放 allure raw 数据的目录
    html_report_dir = os.path.join(project_root, "html_report")  # 存放最终 HTML 报告的目录
    os.makedirs(report_dir, exist_ok=True)

    if os.path.exists(report_dir):
        for file_name in os.listdir(report_dir):
            file_path = os.path.join(report_dir, file_name)
            if os.path.isfile(file_path):
                os.remove(file_path)
            elif os.path.isdir(file_path):
                shutil.rmtree(file_path)
    # 运行 pytest 测试并生成 allure 结果数据

    pytest.main([
        r"E:\Python_Project\Appium_Develop_01\Python_Seleinum_eladmin\test_cases",
        "-sv",
        "--alluredir", report_dir,
    ])

    # 使用 allure generate 显式生成 HTML 报告到项目目录下的 html_report
    subprocess.run(f"allure generate {report_dir} -o {html_report_dir} --clean", shell=True)

    # 可选：打开报告
    # subprocess.run(f"allure open {html_report_dir}", shell=True)
